¥ 5 resolutions: 75 dpi, 100 dpi (the one FAX uses, otherwise not a good choice), 150 dpi, 300 dpi, and draft (it uses DeskJetÕs internal fonts).
¥ You can select the printer driver with Chooser.
¥ Compatibility with LaserJets.
¥ Compatibility with page setups of many Apple printers that were available in 1989. This driver recognizes and tolerates the paper sizes that these printers use. If you had for instance at home a DeskJet and in office a LaserWriter you could transfer documents between both locations without disturbing repagination and reformatting due to changing page sizes.
¥ Personal paper sizes.
¥ Expanding and shrinking of both the paper size and the printed output.
¥ Usable with System 7 but not 32 bit clean..
Because of the new (now in fact quite well established) System 7 and all of its benefits, a new version of HPDJ was released in September 1992. That version was identified as 3.0b0. It introduced some new features:
¥ Everything that worked in HPDJ 2.1 should work as it used to.
¥ Portrait and Landscape printing directions.
¥ HPDJ reports its progress during printing much in the same way as LaserWriter. (A small dialog box in the upper part of the screen.)
¥ The HPDJ can take advantage of Color QuickDraw if it is available on your machine. You can instruct HPDJ to pretend to the application that it can print 16 colors although in fact it can output only black and white images. If the ÒDither bitmapsÓ option is set, all bitmaps are dithered and thus color and/or grayscale pixels are approximated with dither patterns.
¥ Bold and underline work in draft output. If you have bought (we havenÕt) a DeskJet font cartridge for italic output, it should work too. (DeskJet Plus, DeskJet 500, and most of the LaserJets have at least some italic fonts built-in.)
¥ You can switch printer drivers with Chooser more reliably, even after you have printed with HPDJ. HPDJ doesnÕt leave the serial port allocated after printing. This allows you to use other devices on the same port without repeated restarts.
¥ Support for PrGeneral. This allows an application to find out the resolutions HPDJ is capable of and adjust its behavior accordingly. More and more applications require it (and those who donÕt, might print more beautifully).
¥ The Chooser dialog has a ÒDefault Page SetupÉÓ button. With it you can set your own things to be the default ones. For instance, if you do a lot of US letter outputs, you can set paper size to US letter as default. In this way, every time a new document is created, your personal Page Setup is applied by default.
¥ In Chooser you can set the memory buffer size that is used during so called ÒbandingÓ, a process that converts pages drawn by an application as QuickDraw pictures into bitmaps that are sent to the printer.
¥ In Chooser you can edit the printer control strings that are used to, for example, reset the printer or eject a new page.
¥ When using draft output, you can control how often the print head is repositioned on a document-by-document basis. This repositioning is necessary to achieve a better match between Macintosh and DeskJet fonts, but it consumes more time.
¥ ÒExact DimensionsÓ now works as originally intended. In 2.1 this applied only to the paper size, now both paper size is adjusted and a little bit of expanding (approximately 104.167%) is done. Have TrueType (or ATM) handy if you use this option.
¥ The printer driver can notify completions and/or failures of print jobs by playing an user selected sound (or by just beeping).
¥ The printer driver finds out if an operation is allowed on that Macintosh model / system software version and uses only those operations. Thus the printer driver is compatible with System 2.0 onwards.
¥ Hopefully the driver is 32 bit clean. We have tested it only a little bit (though it didnÕt show any bad signs). The most of this testing is left to the big public. No dirty operations were knowingly used, though.
Elaborate documentation and sources are missing due to a hard disk crash.
We are pleased to announce a new version of HPDJ, version 3.1. It has some new features:
¥ Compatibility with page setups of most Apple and many other printers that are available in 1993. HPDJ can now handle a variable number of ÒforeignÓ printer paper sizes and a comprehensive set of paper sizes is readily provided.
¥ HPDJ can ÒRetain pattern sizesÓ, but for Òold-styleÓ 8x8 bit patterns only. Perhaps we might implement Ònew-styleÓ, or, color patterns, too. If we did, this option mightÑas a side effectÑcause HPDJ to render different solid colors as grayscale patterns everywhere, not just in bitmaps only.
Improvements planned for a possible future version of HPDJ:
¥ Support for 600 dpi resolution found in the newer LaserJet IV. This might not be practical, though, because of the amount of data required for a full page (several megabytes?) takes much too long to transfer over the serial port.
¥ Better color support. This would include ÒpureÓ colors and colored pixel patterns. Perhaps support for true color on DeskJet 500C and 550C. would be possible.
If you have any comments or questions, please let us know what you think about HPDJ. When corresponding with us, please give the following information:
¥ Macintosh model (how much RAM, free disk space etc. there is).
¥ System version.
¥ Extensions (formerly called as ÒinitsÓ) and Control Panels used (in crash cases those could be the reason).
¥ Versions of applications used.
¥ Applications that have worked with HPDJ (hopefully a lot of those).
¥ Applications that wonÕt work (hopefully very few of those; sometimes a newer version of the application might work well). Describe concisely what you did and what happened.
¥ Our internet address is Òhpdj-bugs@hut.fiÓ. Or if you prefer FAX, send it to Òinternational prefix +358-0-5102848Ó. That is the personal FAX number of Olli Arnberg.
You may not copy, sublicense, distribute, or transfer HPDJ except as expressly provided under this License Agreement. Any attempt otherwise to copy, sublicense, distribute, or transfer HPDJ is void and your rights to use HPDJ under this License Agreement shall automatically be terminated. However, parties who have received computer software programs from you with this License Agreement will not have their license agreements terminated so long as such parties remain in full compliance.
NO WARRANTY
BECAUSE HPDJ IS LICENSED FREE OF CHARGE, WE PROVIDE ABSOLUTELY NO WARRANTY, TO THE EXTENT PERMITTED BY APPLICABLE STATE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING, ARI MUJUNEN, OLLI ARNBERG, AND/OR OTHER PARTIES PROVIDE HPDJ ÒAS ISÓ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE HPDJ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE STATE LAW WILL ARI MUJUNEN, OLLI ARNBERG, AND/OR ANY OTHER PARTY WHO MAY MODIFY AND REDISTRIBUTE HPDJ AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES, OR OTHER SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH OTHER PROGRAMS) THE PROGRAM, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
So, HPDJ 3.1 is free and we want it to remain free.
Ê
Ê
The cable from your Macintosh to the Hewlett-Packard DeskJet (or a LaserJet) is a very important thing. The picture above shows the connections (one warning: the Mini-DIN8 connector is _really_ a nuisance to solder by yourself).
If you want to avoid soldering, buy ready-made cables. The correct cable type is the same that was used to connect a Macintosh and an ImageWriter I or an early-model HP DeskWriter. For Mac128 and Mac512 the cables are: Apple ImageWriter Cable, Apple P/N M0150 (590-0169) or HP P/N 92219M. All other Macintosh models use the following combinations:
Apple IIe Modem-8 Cable, Apple P/N A2C0311 (590-0331)
_or_ Apple ImageWriter Cable, Apple P/N M1050 (590-0169) and Apple Peripheral Adapter Cable, Apple P/N M0189 (590-0341)
_or_ HP P/N 92219M and Apple Peripheral Adapter Cable, Apple P/N M0189 (590-0341).
Ê
When the cable is made (or bought), you must install the software. This is in fact very easy. Just drop the software into the System folder. In System 7 it finds its right place (it resides in the Extensions folder). In all preceding system versions the right place is the System folder itself.
The printer driver is chosen just the same way as all other ones. Open Chooser (usually by selecting it from the Apple menu) and just click the icon of HPDJ 3.1.
Ê
When you click the ÒSetupÉÓ button in Chooser, you will see a dialog with a mass of settings. This ÒPrinter SetupÓ dialog allows you to adjust settings that vary from an installation to another but once set, remain relatively constant.
You can select the port this driver uses (printer or modem port). Usually the printer port is the right choice because it leaves the modem port free for Ñ yes, a modem. AppleTalk works only through the printer port, so if you will be using it for file sharing or AppleTalk printers you must use the modem port for HPDJ. HPDJ 3.1 allows you to select printer port although it is used by AppleTalk, so please be careful.
Handshaking can be either CTS (hardware one) or XOn/XOff (software one). We suggest very strongly that you use the CTS one (the cables mentioned above support it). We have tried to implement XOn/XOff into HPDJ 3.1 but we have not had time to test it. Remember to set your printer to use the same method of handshaking you set here.
Then there is the connection speed. Use the highest possible value. Set your printer to use the same baud rate _and_ 8 data bits and no parity. Some older LaserJets support only 9600 Ñ this is clearly too slow for 300 dpi. We havenÕt been able to test the speed 57600 because we havenÕt found any printer that would support it.
The printer origin settings tell HPDJ 3.1 where your printer starts to print a new page. The default values match the starting point of most DeskJets. Some LaserJets seem to start a bit higher, so you might want to reduce the ÒtopÓ value for them. These numbers are in 75 dpi dots.
What follows are several strings that are sent to the printer. Most notably a page is ejected using the string ÓBot of pageÓ. In draft mode the printer is initialized by sending it the string ÓInitializeÓ. Other strings are not currently sent by HPDJ itself, although they can be sent by special applications. The caret notation shown on the example is used to write control characters to the string.
Screen dump resolution is selected here. 75 dpi is much too big, 300 dpi results in an oversized stamp. Choose something between them. Actually Apple has removed the direct screen dump from System 7, so one might consider this setting somewhat obsolete.
You should _not_ check the compress option if you are using an old LaserJet series I (in fact, they donÕt have the series number in their name). In DeskJet, LaserJet II series and LaserJet III series the option should be set resulting in _much_ faster page output. We have tested this with LaserJet IIP only, so compatibility with other LaserJet models and especially with LaserJet clones is not guaranteed. Note that you must have at least 1.5MB of memory in your LaserJet to get a full 300 dpi page out of it.
If you would like to receive an audible alert after a print job has completed, you can check the box ÒPlay the named sound after a print job has finishedÓ and put the name of the sound you want to hear in the field beside the box. Another sound can be selected for erroneous completions. The sounds must be available in your System fileÑthese sounds are managed by the Apple Control Panel ÒSoundsÓ. If the sound you have selected cannot be played (it cannot be found or there is no memory for it), the printer driver gives one SysBeep (the sound you choose in ÒSoundsÓ control panel) after successful printing. If something went wrong there will be two beeps.
You are given the possibility to set the banding buffer size. Bigger buffer means smaller amount of drawing and thus (theoretically) faster printing. Be warned, this buffer is taken from the application memory and very few applications can tolerate more than approximately 30000 bytes. If you absolutely want have a larger buffer, you must be prepared to increase the memory size for applicationsÕ ÒGet InfoÉÓ box or otherwise some really odd errors might happen. If you get unexpected print errors and/or an application refuses to print altogether, please check the buffer size and reset it to ÒSmallÓ.
ÒDefault Page SetupÉÓ makes it possible to have your own settings that appear each time a new document is created. For instance, some bizarre paper size might be preset in this way. Click the button and the standard page setup dialog appears. You can set the page setup options, too. The settings are saved immediately when you click ÒOKÓ in the page setup dialog.
Ê
Ê
There are some settings in the Page Setup dialog (usually it is invoked from the ÒFileÓ menu as ÒPage SetupÉÓ).
Paper sizes are as in the Hewlett-Packard DeskJet. First one is A4 and it is the default, too. The default can be changed in Chooser as described previously. If you select ÒOtherÓ paper size, you must set it using the ÒOptionsÉÓ button.
ÒExact dimensionsÓ gives you just that Ñ one centimeter on the screen will be one centimeter on the paper. Bitmaps might look a bit distorted when you use this option. Many programs (such as various versions of MacDraw) provide exact dimensions whether you check this box or not; it is recommended that you check this box only after you encounter difficulties with dimensions.
With the pop-up menu ÒAs in:Ó you can set HPDJ to mimic the page sizes of the selected particular printer. If your System cannot support pop-up menus in dialogs, the menu is replaced by a special shadowed button that changes its value when clicked. Not so handy to use but it works with System 2.0 and onwards.
Orientation (this is a new operation) gives possibility to print tall or wide pages (sometimes they are said as ÒPortraitÓ and ÒLandscapeÓ). Note that the landscape orientation prints a bit slower because it has to rotate the bitmap.
ÒScale page byÓ a specified percentage enlarges or reduces the paper size that the HPDJ 3.1 presents to the application..
Help is given when you press either the button or the icon (with a question mark).
Clicking ÒOptionsÉÓ opens a dialog:
Ê
With ÒOtherÓ you can define a paper of your own (for instance, a corporation paper). This paper size is used only when the ÓOtherÓ radio button is selected Ñ otherwise these numbers have no effect.
The HPDJ can take advantage of Color QuickDraw if it is available on your machine. If you donÕt have Color QD, you can still setup the document to use it when it is available Ñ however, you wonÕt see any color improvements. The availability of specific features on the machine HPDJ is currently running is shown on the column named ÒPossible:Ó.
Checking the box ÒUse Color QuickDraw when availableÓ instructs HPDJ to pretend to the application that it can print 16 colors. If the ÒDither bitmapsÓ option is set, all bitmaps are dithered and thus color and/or grayscale pixels are approximated with dither patterns. ÒDither bitmapsÓ requires that your machine supports Color QuickDraw in its latest version that was introduced in System 7 and as a system extension called Ò32-Bit QuickDrawÓ version 1.3 on System 6.0.x. Sometimes you could get very good results. For instance, try printing the contents of the System folder (lots of color icons!) using the Finder of System 7 at 300 dpi resolution. The result looks pretty good. Color spool files take much more space (and thus take more time to print), so if your hard disk is very crowded, it would be wise to not check those things. And if your document is completely black and white, these options only make printing slower.
The option ÒRetain pattern sizesÓ prevents decorated patterns (ÒbricksÓ, ÒzigzagÓ, ÒshinglesÓ) from shrinking along with increased resolution. Using this requires checking the box ÒUse Color QuickDraw when availableÓ. Only the traditional 8x8 pixel patterns are enlarged and the check box ÒDither patternsÓ controls whether this enlarging is performed using the previously mentioned color-to-grayscale dithering.
The check box ÒSubstitute certain patterns with graysÓ is supposed to replace certain (21 most usual) Ògray-lookingÓ patterns with a simulation of a similar gray shade. Unfortunately Color QuickDraw can supply quite a limited number of different gray levels and we hadnÕt time to reinvent the wheel here. This option is marginally useful when you absolutely want to use the box ÒRetain pattern sizesÓ but still want to mix some gray patterns into your documents.
Please note that color support in HPDJ is far from complete: it concentrates on color pixel map support only. This allows nice results with scanned images and many paint programs, but programs drawing ÒpureÓ color objects may still produce the familiar Òblack blobÓ results.
When one point lines became hairlines in HPDJ 2.1, it was in fact a bug. The bug has been removed. The option ÓScale lines <= dotsÓ gives a controlled way to imitate the operation which was sometimes quite desirable. Lines that are narrower than the first number of pixels are affected by scaling defined by the second and third number. For example, specifying numbers Ò1Ó, Ò3Ó, and Ò4Ó means Òmultiply the line widths of lines that are narrower or equal to 1 point by 3 and divide the result by 4, truncating the result but not letting it be zeroÓ. This example results in slight narrowing of one point lines at 300 dpi. To mimic HPDJ 2.1 behavior, set this option to Ò1Ó, Ò1Ó, and Ò4Ó which changes all one point lines to hairlines at 300 dpi.
Repositioning in draft mode is a complicated question. ÒAs requiredÓ is much too sparse except when printing program listings etc. The alternative Òbefore each characterÓ is much too often Ñ at least with DeskJet; perhaps newer DeskJets or LaserJets perform faster. If the Macintosh font used is near to the font set at DeskJet, the setting Òbefore each wordÓ produces usually acceptable speed/quality ratio. A working font pair for program listings is for example ÒMonaco 9Ó to DeskJetÕs Courier 16.67.
Ê
With print dialog you can set the output resolution (remember that each step makes a fourfold increase in data amount and in time spent printing). The text ÒApplication will draw atÉÓ tells you whether the application is specially prepared to take advantage of a specific resolution. For example, MacDraw II can perform text rotations and polygon smoothing at 300 dpi. It is up to you, however, to specify the resolution you are willing to wait for.
ÒPage rangeÓ operates normally.
ÒCopiesÓ work normally. It is really a weird perversion to use a DeskJet printer as a copier.
ÒScale drawing byÓ specified percentage enlarges or reduces the image that will be drawn at paper.
Manual paper feed presents an ÓOK/CancelÓ confirmation dialog before printing each page.
A more elaborate documentation of the final 3.1 release is provided as a separate HyperCard 2.1 stack consisting a little over 300 cards that describe HPDJ from multiple viewpoints. It contains among others a ÒQuestions&AnswersÓ section which may prove helpful in problem situations. And you can always search for a specific topic with HyperCardÕs ÒFindÓ command. Despite its perhaps inconvenient size it is highly recommended if you want more in-depth information about the inner life of printer drivers in general and HPDJ in particular. Unfortunately due to a hard disk crash the stack was badly damaged and so the big documentation is not available. Maybe we can recover the documentation (at least we work for it).
However we thought that driver would be in this way usable.